$(document).ready(function() {
    $("#botonAgregarHuesped").click(function() {
        $("#modalAgregarHuesped").modal({
            backdrop: true,
            keyboard: true
        }).css({
            width: '960px',
            'margin-left': function() {
                return -($(this).width() / 2);
            }
        });
        resetCrearReserva();
    });

    $("#botonFromAgregarHuesped").click(function(e) {
        if ($("#nombre").val() == "") {
            $("#nombre").focus();
            $("#nombre").before("<span class='error'>*</span>");
            return false;
        }
        if (document.getElementById("fechaNacimiento").value != "") {
            var expresionRegular = /^\d{2}\/\d{2}\/\d{4}$/;
            if (!(document.getElementById("fechaNacimiento").value).match(expresionRegular)) {
                $("#ayudaFechaNacimiento").show();
                return false;
            }
        }
        $("#form-crear-huesped").submit();
    });
    $("#tablaListarClientes a.eliminarCliente").click(function() {
        var idCliente = $(this).data("id-cliente");
        var nombreCompleto = $(this).data("nombre-completo");
        $("#id-cliente").val(idCliente);
        $("#nombre-huesped").html(nombreCompleto);
    });


    /*------Si el pais de procedencia  es colombia Creacion---*/
    $("#paisProcedencia").change(function() {
        if ($(this).val() == "169") {
            $("#ciudadProcedencia").attr("name", "").hide();
            $("#listaCiudadesProcedencia").attr("name", "ciudadProcedencia").addClass("requerido").val("").show();
        } else {
            $("#datosProcedencia span.error").remove();
            $("#listaCiudadesProcedencia").attr("name", "").removeClass("requerido").hide();
            $("#ciudadProcedencia").attr("name", "ciudadProcedencia").show();
        }
    });
    $("#paisDestino").change(function() {
        if ($(this).val() == "169") {
            $("#ciudadDestino").attr("name", "").hide();
            $("#listaCiudadesDestino").attr("name", "ciudadDestino").addClass("requerido").val("").show();
        } else {
            $("#datosProcedencia span.error").remove();
            $("#listaCiudadesDestino").attr("name", "").removeClass("requerido").hide();
            $("#ciudadDestino").attr("name", "ciudadDestino").show();
        }
    });

    /*---------*/


    /*------Si el pais de procedencia  es colombia Edicion---*/
    $("#paisProcedenciaCliente").change(function() {
        if ($(this).val() == "169") {
            $("#ciudadProcedenciaCliente").attr("name", "").hide();
            $("#listaCiudadesProcedenciaCliente").attr("name", "ciudadProcedencia").addClass("requerido").val("").show();
        } else {
            $("#datosProcedencia span.error").remove();
            $("#listaCiudadesProcedenciaCliente").attr("name", "").removeClass("requerido").hide();
            $("#ciudadProcedenciaCliente").attr("name", "ciudadProcedencia").show();
        }
    });
    $("#paisDestinoCliente").change(function() {
        if ($(this).val() == "169") {
            $("#ciudadDestinoCliente").attr("name", "").hide();
            $("#listaCiudadesDestinoCliente").attr("name", "ciudadDestino").addClass("requerido").val("").show();
        } else {
            $("#datosProcedencia span.error").remove();
            $("#listaCiudadesDestinoCliente").attr("name", "").removeClass("requerido").hide();
            $("#ciudadDestinoCliente").attr("name", "ciudadDestino").show();
        }
    });

    /*---------*/

    /* Evento disparador del ajax */
    $("#documento").change(function() {
        var identificacion = $("#documento").val();
        var nacionalidad = $("#nacionalidad").val();
        if (identificacion != "" && nacionalidad != "") {
            cargarCliente(identificacion, nacionalidad);
        }
    });
    $("#nacionalidad").change(function() {
        var identificacion = $("#documento").val();
        var nacionalidad = $("#nacionalidad").val();
        if (identificacion != "" && nacionalidad != "") {
            cargarCliente(identificacion, nacionalidad);
        }
    });

    function cargarCliente(identificacion, nacionalidad) {
        $.ajax({
            url: "cargarCliente",
            data: {
                identificacion: identificacion,
                nacionalidad: nacionalidad,
                tipo: "1"
            },
            type: 'POST',
            success: function(data) {
                if (data != "[]") {
                    data = JSON.parse(data);
                    //  document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#tipoDocumento").val(data[0]["id_documento"]);
                    $("#nombre").val(data[0]["nombre"]);
                    $("#primerApellido").val(data[0]["primer_apellido"]);
                    $("#segundoApellido").val(data[0]["segundo_apellido"]);
                    $("#genero").val(data[0]["genero"]);
                    if (data[0]["fecha_nacimiento"]) {
                        var fechaNacimiento = (data[0]["fecha_nacimiento"]).split('-');
                        $("#fechaNacimiento").val(fechaNacimiento[2] + "/" + fechaNacimiento[1] + "/" + fechaNacimiento[0]);
                    } else {
                        $("#fechaNacimiento").val("");
                    }
                    $("#telefono").val(data[0]["telefono"]);
                    $("#email").val(data[0]["email"]);
                    $("#idEstadoCivil").val(data[0]["id_estado_civil"]);
                    $("#ocupacion").val(data[0]["ocupacion"]);
                    bloquearInputPersona();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputPersona();
                    //   document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show();
                }
            }
        });
    }

    function resetCrearReserva() {
        $("#bodyModal .error").remove();
        desBoquearInputPersona();
        $("#bodyModal").find(':input').each(function() {
            var elemento = this;
            elemento.value = "";
        });
        $("#ayudaFechaNacimiento").hide();
    }
    function resetEnCaliente() {//persona o empresa
        $("#form-crear-huesped").find(':input:not(.preservar)').each(function() {
            var elemento = this;
            elemento.value = "";
        });
        $("#ayudaFechaNacimiento").hide();
        //  document.getElementById('resultadoAjax').innerHTML = "";
    }

    function bloquearInputPersona() {
        $("#tipoDocumento option:not(:selected)").attr('disabled', 'disabled');
        $("#tipoDocumento").addClass("selectBloqueado");
        $("#idEstadoCivil option:not(:selected)").attr('disabled', 'disabled');
        $("#idEstadoCivil").addClass("selectBloqueado");
        $("#genero option:not(:selected)").attr('disabled', 'disabled');
        $("#genero").addClass("selectBloqueado");
        $("#nombre").addClass("uneditable-input").attr('readonly', true);
        $("#primerApellido").addClass("uneditable-input").attr('readonly', true);
        $("#segundoApellido").addClass("uneditable-input").attr('readonly', true);
        $('#fechaNacimiento').datepicker("option", "minDate", 0).datepicker("option", "maxDate", 0).addClass("uneditable-input").attr('readonly', true);
        $("#telefono").addClass("uneditable-input").attr('readonly', true);
        $("#email").addClass("uneditable-input").attr('readonly', true);
        $("#ocupacion").addClass("uneditable-input").attr('readonly', true);
        $("#form-crear-huesped .editar").show();
    }
    function desBoquearInputPersona() {
        $("#tipoDocumento option").removeAttr('disabled');
        $("#tipoDocumento").removeClass("selectBloqueado");
        $("#idEstadoCivil option").removeAttr('disabled');
        $("#idEstadoCivil").removeClass("selectBloqueado");
        $("#genero option").removeAttr('disabled');
        $("#genero").removeClass("selectBloqueado");
        $("#nombre").removeClass("uneditable-input").attr('readonly', false);
        $("#primerApellido").removeClass("uneditable-input").attr('readonly', false);
        $("#segundoApellido").removeClass("uneditable-input").attr('readonly', false);
        $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
        $("#telefono").removeClass("uneditable-input").attr('readonly', false);
        $("#email").removeClass("uneditable-input").attr('readonly', false);
        $("#ocupacion").removeClass("uneditable-input").attr('readonly', false);
        $("#form-crear-huesped .editar").hide();
    }

    $("#form-crear-huesped  a.editar").click(function() {
        $("+ span.error", $(this)).remove();
        if ($(this).attr("id") == "editarFechaNacimieno") {
            $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
        }
        else {
            $('#fechaNacimiento').datepicker('enable');
            $("+ input", $(this)).focus().removeClass("uneditable-input").attr('readonly', false);
            $("+ select", $(this)).focus().removeClass("selectBloqueado");
            $("+ select option", $(this)).focus().removeAttr('disabled');
        }
    });

    $("#tablaListarClientes .ver").click(function(e) {



        //  document.getElementById("modalAgregarHuesped").reset();


        var idCliente = $(this).data("idcliente");
        var tipocliente = $(this).data("tipocliente");
        var nacionalidad = $(this).data("idpais");
        var identificacion = $(this).data("identificacion");
        var iddocumento = $(this).data("iddocumento");
        var fechanacimiento = $(this).data("fechanacimiento");
        var nombre = $(this).data("nombre");
        var primerapellido = $(this).data("primerapellido");
        var segundoapellido = $(this).data("segundoapellido");
        var genero = $(this).data("genero");
        var telefono = $(this).data("telefono");
        var email = $(this).data("email");
        var ocupacion = $(this).data("ocupacion");
        var direccion = $(this).data("direccion");

        $("#idClienteActualizar").val(idCliente);

        $("#nacionalidadCliente option[value=" + nacionalidad + "]").prop("selected", "selected");
        $("#identificacionCliente").val(identificacion);
        $("#tipoDocumentoCliente  option[value=" + iddocumento + "]").prop("selected", "selected");
        $("#fechaNacimientoCliente").val(fechanacimiento);
        $("#nombreCliente").val(nombre);
        $("#primerApellidoCliente").val(primerapellido);
        $("#segundoApellidoCliente").val(segundoapellido);
        $("#generoCliente  option[value=" + genero + "]").prop("selected", "selected");
        $("#telefonoCliente").val(telefono);
        $("#emailCliente").val(email);
        $("#ocupacionCliente").val(ocupacion);




        var paisProcendecia = $(this).data("paisprocedencia");
        var ciudadProcedencia = $(this).data("ciudadprocedencia")
        var paisDestino = $(this).data("paisdestino");
        var ciudadDestino = $(this).data("ciudaddestino")

        $("#paisProcedenciaCliente option[value=" + paisProcendecia + "]").prop("selected", "selected");
        if (paisProcendecia == "169") {
            $("#ciudadProcedenciaCliente").val("").attr("name", "").hide();
            $("#listaCiudadesProcedenciaCliente").addClass("requeridoHuesped").show();
            $("#listaCiudadesProcedenciaCliente option[value=" + ciudadProcedencia + "]").prop("selected", "selected");
        } else {
            $("#ciudadProcedenciaCliente").val(ciudadProcedencia);
            $("#listaCiudadesProcedenciaCliente").attr("name", "");
        }


        $("#paisDestinoCliente option[value=" + paisDestino + "]").prop("selected", "selected");
        if (paisDestino == "169") {
            $("#ciudadDestinoCliente").val("").attr("name", "").hide();
            $("#listaCiudadesDestinoCliente").addClass("requeridoHuesped").show();
            $("#listaCiudadesDestinoCliente option[value=" + ciudadDestino + "]").prop("selected", "selected");
        } else {
            $("#ciudadDestinoCliente").val(ciudadDestino);
            $("#listaCiudadesDestinoCliente").attr("name", "");
        }
        $("#modalEditarCliente").modal("show");

    });

    $("#tablaListarClientes .historial").click(function(e) {
        var idCliente = $(this).data("idcliente");
        $("#coverDisplay").css({
            "opacity": "1",
            "width": "100%",
            "height": "100%"
        });
        $.ajax({
            url: "cargarCliente/historial",
            data: {
                idCliente: idCliente
            },
            type: 'POST',
            success: function(data) {
                if (data != "[]") {
                    data = JSON.parse(data);
                    var tabla = "<table class='table table-hover'><thead><tr> <th>Habitación</th> <th>Ingreso</th> <th>Salida</th> <th>Estatus</th> <th>Procedencia</th>  <th>Destino</th></tr></thead> <tbody>";

                    $.each(data, function(i, j) {
                        tabla = tabla + "<tr>";
                        tabla = tabla + "<td><em class='text-info'>" + j.nombreCategoria + "</em> | " + j.nombre + "</td>";
                        tabla = tabla + "<td>" + j.fecha_ingreso + "</td>";
                        tabla = tabla + "<td>" + j.fecha_salida + "</td>";
                        if (j.estatus != "fin") {
                            var estatus = "Hospedado actualmente"
                        } else {
                            estatus = "Hospedado finalizado"
                        }
                        tabla = tabla + "<td>" + estatus + "</td>";
                        if (j.procedencia == "169") {
                            j.procedencia = "COLOMBIA";
                        }
                        tabla = tabla + "<td>" + j.procedencia + "</td>";
                        if (j.destino == "169") {
                            j.destino = "COLOMBIA";
                        }
                        tabla = tabla + "<td>" + j.destino + "</td>";
                        tabla = tabla + "</tr>";
                    });
                    tabla = tabla + "</tbody></table>";
                    $("#bodyHistorial").html(tabla);

                } else {
                    $("#bodyHistorial").html("Este cliente aún no tiene historial.");
                }
                $("#coverDisplay").css({
                    "opacity": "1",
                    "width": "0%",
                    "height": "0%"
                });
                $("#modalHistorial").modal("show");
            }
        });

    });

});
